package prjtgl.bdd.comptes.profil_societe;

import java.util.List;
import org.hibernate.Query;
import prjtgl.bdd.HGeneral;
import prjtgl.metier.comptes.profil_societe.Societe;

/**
 * Gestionnaire BDD des societes
 * @author Lucie
 */
public class HSociete extends HGeneral {
	
	/**
	 * Renvoie la liste des societes dont le nom contient le nom en parametre
	 * @param nomSociete Nom recherche
	 * @return Liste des societes
	 */
	public List<Societe> listerSocietesRessemblantes(String nomSociete){
		session.beginTransaction();
		Query q = session.createQuery("from Societe as u where u.nom like '%" + nomSociete + "%'");
		List<Societe> societes = q.list();
		return societes;
	}
	
	/**
	 * Retourne la societe correspondante recherchee
	 * @param nomSociete Nom de la societe recherchee
	 * @return Societe recherchee
	 */
	public Societe getSociete(String nomSociete){
		session.beginTransaction();
		Query q = session.createQuery("from Societe as u where u.nom='" + nomSociete + "'");
		Societe societe = (Societe) q.uniqueResult();
		return societe;
	}
	
	/**
	 * Liste toutes les societes connues en BDD
	 * @return Liste de societes
	 */
	public List<Societe> listerTout(){
		session.beginTransaction();
		Query q = session.createQuery("from Societe");
		List<Societe> societes= q.list();
		return societes;
	}
}
